package system

import "MoSkeleton/framework/core/dto/request"

type SysRolePageReq struct {
	request.PageInfo
	request.BaseRequest
	request.IDRequestOptional
	RoleName string `json:"roleName" form:"roleName"`
	Status   string `json:"status" form:"status"`
	RoleKey  string `json:"roleKey" form:"roleKey"`
}

type RoleAllocatedUserItemReq struct {
	request.PageInfo
	request.BaseRequest
	request.IDRequestOptional
	RoleId      string `json:"roleId" form:"roleId"`
	UserName    string `json:"userName" form:"userName"`
	Phonenumber string `json:"phonenumber" form:"phonenumber"`
}

type SysRoleAddReq struct {
	RoleName          string    `json:"roleName"`
	RoleKey           string    `json:"roleKey"`
	RoleSort          int32     `json:"roleSort"`
	DataScope         string    `json:"dataScope"`
	MenuIds           *[]string `json:"menuIds"`
	MenuCheckStrictly bool      `json:"menuCheckStrictly"`
	DeptCheckStrictly bool      `json:"deptCheckStrictly"`
	Status            string    `json:"status"`
	DelFlag           string    `json:"delFlag"`
	CreatedBy         string    `json:"createdBy"`
	UpdatedBy         string    `json:"updatedBy"`
	Remark            string    `json:"remark"`
}

type SysRoleUpdateReq struct {
	request.IDRequest
	RoleName          string    `json:"roleName"`
	RoleKey           string    `json:"roleKey"`
	RoleSort          int32     `json:"roleSort"`
	DataScope         string    `json:"dataScope"`
	MenuIds           *[]string `json:"menuIds"`
	DeptIds           *[]string `json:"deptIds"`
	MenuCheckStrictly bool      `json:"menuCheckStrictly"`
	DeptCheckStrictly bool      `json:"deptCheckStrictly"`
	Status            string    `json:"status"`
	UpdatedBy         string    `json:"updatedBy"`
	Remark            string    `json:"remark"`
}

type SysRoleAuthUsersReq struct {
	request.IDRequest
	UserIds *[]string `json:"userIds" form:"userIds"`
}

type SysRoleAuthUserReq struct {
	request.IDRequest
	UserId string `json:"userId" form:"userId"`
}

type ChangeRoleStatusReq struct {
	request.IDRequest
	Status    string `json:"status"  binding:"required"`
	UpdatedBy string `json:"updatedBy"`
}
